import request from './request'

/**
 * 获取通知列表
 * @param {Object} params - 查询参数
 * @param {number} params.pageNum - 页码
 * @param {number} params.pageSize - 每页数量
 */
export function getNoticeList(params) {
	return request({
		url: '/api/notice/list',
		method: 'post',
		data: params,
	})
}

/**
 * 获取通知详情
 * @param {string} id - 通知ID
 */
export function getNoticeDetail(id) {
	return request({
		url: `/api/notice/get/${id}`,
		method: 'get',
	})
}

/**
 * 获取未读通知数量
 * @param {Object} params - 查询参数
 */
export function getNoReadCount(params) {
	return request({
		url: '/api/notice/getNoReadCount',
		method: 'get',
		params,
	})
}

/**
 * 添加通知已读记录
 * @param {Object} data - 请求参数
 * @param {string} data.noticeId - 通知ID
 */
export function addNoticeReadRecord(data) {
	return request({
		url: '/api/noticeReadRecord/add',
		method: 'post',
		data,
	})
}

/**
 * 根据通知ID查询已读数量
 * @param {Object} data - 请求参数
 * @param {string} data.id - 通知ID
 */
export function selectReadCountByNoticeId(data) {
	return request({
		url: '/api/noticeReadRecord/selectReadCountByNoticeId',
		method: 'post',
		data,
	})
}

/**
 * 检查是否已读
 * @param {Object} data - 请求参数
 * @param {string} data.id - 通知ID
 */
export function isReaded(data) {
	return request({
		url: '/api/noticeReadRecord/isReaded',
		method: 'post',
		data,
	})
}

/**
 * 获取附件列表
 * @param {string} businessId - 业务ID（通知ID）
 */
export function getFileList(businessId) {
	return request({
		url: '/api/upload/list',
		method: 'post',
		data: { businessId },
	})
}

/**
 * 标记通知为已读
 * @param {string} noticeId - 通知ID
 */
export function markNoticeAsRead(noticeId) {
	return addNoticeReadRecord({ noticeId })
}
